iT邦幫忙

2026 iThome 鐵人賽

DAY 17
0
AI Engineering

Macaron:30 天打造一位會占卜的 AI Agent系列 第 17 篇

Day 17|改完稿就自動送出去?我先讓它等 60 秒

  • 分享至 

  • xImage
  •  

馬卡龍的成長日記 Day 17

昨天處理的是草稿從雲端走到我的電腦,今天換成反方向:我在 Obsidian 裡改完之後,要怎麼把它送回 Macaron?

最省事的想法,是讓電腦幫我盯著那個資料夾,只要檔案一有變動,就自動送出去。但不知道大家有沒有這種經驗:

  1. 改一段文字,改到一半先存一下,想一想又回頭改前一句;
  2. 以為改好了,存完才發現有個錯字,又打開來改一次;
  3. 同一個資料夾裡還有別的檔案改到一半,自己都忘了。

如果每存一次就送一次,一篇草稿可能會被送出去十幾次,中間還夾著很多改到一半的版本,最後一種情況更麻煩,會把不該送的東西一起帶走。

先等它安靜下來

所以 Macaron 的第一條規則,是等檔案安靜下來再說。只要檔案有變動就開始計時,60 秒內又被動到,就重新計時,一直到整整 60 秒沒有人再碰它,才進入下一步;還沒安靜夠久的時候,它只會回報「再等等」。

這一段測試的時候,我沒有真的讓程式等 60 秒,而是直接告訴它「最後一次修改在什麼時候、現在是什麼時候」,讓它自己判斷,這樣測試跑得快,每一次的結果也都一樣。

它只管一個資料夾,而且只管一份檔案

檔案安靜下來之後,Macaron 不會馬上送,它會先確認這個檔案是不是它該管的。它只管放占卜草稿的那個資料夾,而且只管裡面一般的文字檔,刪除、改名、捷徑、跑到資料夾外面的路徑,它都不處理。

接著它會把 Day 15 那一套檢查重新跑一遍,確認格式對、牌沒有被換掉、內容指紋也對得上。

還有一個狀況它會直接停下來:如果我在同一個專案裡,還有別的檔案已經放進「準備要送」的清單裡,它就不會送。它也不會替我把那些東西從清單上拿掉,那是我的現場,它不碰。

「上一版」到底是哪一版

這一天我覺得最有意思的,是「沒有變」這件事要怎麼判斷。

照理說很簡單,拿現在這份的內容指紋,跟上一版比一比,一樣就是沒變。可是「上一版的指紋」要從哪裡來?如果讓外面直接告訴它上一版是多少,萬一記錯了,或者給了一個錯的數字,Macaron 就可能把有修改的檔案當成沒變,或把新增的檔案當成修改。

所以現在,上一版一定要從最後一次真正存檔的紀錄裡讀出來。新增的檔案,要能證明上一版根本沒有它;修改的檔案,要能證明上一版跟現在不一樣;只有內容真的一樣、而且明確被標成沒變,才算數。

檢查完之後,只會有四種結果:再等等、沒有變、拒絕,或者可以準備送出。就算是最後一種,也只是一份「準備好了」的計畫,上面清楚寫著還沒有真的送出去,也沒有任何收據。

今天,它還沒有真的在背景看著我

今天沒有真的啟動任何在背景監看檔案的程式,也沒有真的把檔案送到 GitHub,所有的判斷都是用假的時間和假的檔案狀態驗證的。

草稿來回的兩個方向都有了,但還有一個問題:檔案送到 GitHub 之後,雲端的 Macaron 要怎麼知道「有新東西來了」?


上一篇
Day 16|草稿在雲端寫好,要怎麼安全地交到我的電腦上?
下一篇
Day 18|GitHub 按了門鈴,但我先不讓它直接開門
系列文
Macaron:30 天打造一位會占卜的 AI Agent 共 20 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言